User loginNavigation |
LtU Forum, Site DiscussionANN: Harmonia-Mode Program Analysis Plug-in for XEmacsProfessor Susan L. Graham and the members of the Harmonia Research This second release of Harmonia improves our previous support for Java, This release represents the second publicly available demonstration of If you are interested in trying it out, please go to Please report any feedback you have to the Harmonia group at Thanks! -- The Harmonia Research Group By HeikoWengler at 2004-12-23 17:50 | LtU Forum | login or register to post comments | other blogs | 6363 reads
reading SICP for fun and profitAdrian Colyer, the lead of the AspectJ project, discusses the beauty of Lisp and SICP in his latest blog post. So at the end of the day, this is the thing that really impresses me about Lisp (and about the approach to teaching programming taken in the book). The language is so simple, and yet constructed in such an elegant way that it just doesn't get in your way - whatever abstraction you need to build, Lisp lets you do it in a very direct manner. Java just feels plain clunky when you put it alongside :- lacking in power, ease of expression, and beauty. the Chinese natual languageYears ago, I once felt that there are some commonness between Chinese and Lisp. They both lack syntax, but expressing the same idea will need less words/time/space than other languages. What's more, they are both old languages but still used today. Today, I just read an article (in Chinese) saying that "Thinking in Chinese is faster than that in English". The main argument is that Chinese has more voices than English. Chinese has 21 consonants, 35 vowels and 4 scales/tunes (音调, 四声 in Chinese but no counterpoint in English), so there can be totally 2900 voices, although only 1200 in use. English only has 20 consonants and 20 vowels, so there are only 400 voices at most (not to mention some unused voices). The time needed to think/pronounce one voice is relatively constant, which means that thinking in Chinese other than in English is somewhat like using a 64bit CPU other than a 32bit one. The author also mentions the example of 'pork,mutton,beef, and donkey meat' and the corresponding words in Chinese. Since I have read several posters here about natual language, I post it here for more discussion. Modelica: Modeling of Complex Physical Systems
I stumbled upon this site a couple of days ago. It look pretty interesting, the overview offers a good introduction to its features. HM-style type inference with non-unique selectors?
I figure this is the best place to squeeze my question in, so here goes.
A selector is either data constructor or a record field. In HM-style languages those are largely required to have unique names across entire program. Is there any way to lift this requirement and still have (partial) type inference? The hypothesis here is that unresolvable name clashes should be rare. When they do occur, the programmer should give an explicit type annotation. Consider this: data D1 = Foo Int | Bar Double data D2 = Foo | Baz -- name clash, but not fatal yet f1 (Foo x) = x f1 (Bar y) = round y f2 Foo = "Foo" f2 Baz = "Baz" -- The inference algorithm should be able to figure out the type for f1 and f2 -- f1 :: D1 -> Int -- f2 :: D2 -> [Char] f3 (Foo x) = x f3 _ = 42 f4 Foo = "Foo" f4 _ = "Error" -- Still should be possible to figure out types for f3 and f4, because -- Foo in D1 and Foo in D2 have different arities -- f3 :: D1 -> Int -- f4 :: D2 -> [Char] f5 = Foo -- ambiguity: Int->D1 or D2? -- the compiler should signal an errorIs there an inference algorithm that does just that? If such questions are inappropriate for this forum, please feel free to delete my account and ban my IP :) The Memory Pool System: Thirty person-years of memory management development goes Open Source
Not strictly language related, more language implementation related, but worth bringing to the attention of LtU. Quoting from the abstract to this paper:
The Memory Pool System (MPS) is a very general, adaptable, flexible, reliable, and efficient memory management system. It permits the flexible combination of memory management techniques, supporting manual and automatic memory management, in-line allocation, finalization, weakness, and multiple simultaneous co-operating incremental generational garbage collections. It also includes a library of memory pool classes implementing specialized memory management policies. (emphases mine) Good news for language implementors! Richard Brooksby gave a talk on the system at last night's SchemeUK meeting, and it sounds like it has a few killer features that would make it worth considering over a roll-your-own solution or an embedding of, say, the Boehm-Demers-Weiser collector. (One interesting nugget of information he mentioned was that during development of the MLWorks compiler and system, before they started development of the MPS, they measured the cost of object allocation at two-and-a-half instructions per allocation, on average - two instructions for the allocation, and half an instruction for the garbage collection overhead! I don't think MPS is quite that efficient, but it certainly has a lot of potential.) Algebraic SemioticsSeeing an interest to linguistics in general, this might be not a complete off-topic for LtU:
...if you are still not interested, how about this:
[on edit: oh no, I forgot to check previous art... :( Frank already linked to this page in the past...] By Andris Birkmanis at 2004-12-13 15:52 | LtU Forum | login or register to post comments | other blogs | 7565 reads
LLVM 1.4 Released
LLVM 1.4 is now out in the wild. This release adds a large number of new features including JIT support for PowerPC machines, improved debugging information with the C/C++ front-end, better optimizers, new archive support, and a new compiler driver.
-Chris L Programming Language & System (distributed, secure[capability based], functional)L is a "dynamically-typed, block-structured, purely-functional, strict language" which takes the following from Smalltalk: * There is only one kind of value: the object. adds the following: # Modularity. found at E's what's new page By pantagruel at 2004-12-11 09:49 | LtU Forum | login or register to post comments | other blogs | 7116 reads
Prototyping Generic Programming using Template Haskell
The original template haskell paper showed how to wrtie printf and zipN, which are (or used to be) cited as dependent type examples -- what other haskell By Jim Apple at 2004-12-10 18:34 | LtU Forum | login or register to post comments | other blogs | 7350 reads
|
Browse archives
Active forum topics |
Recent comments
8 weeks 3 days ago
8 weeks 3 days ago
8 weeks 4 days ago
8 weeks 4 days ago
9 weeks 22 hours ago
9 weeks 23 hours ago
9 weeks 2 days ago
9 weeks 2 days ago
9 weeks 2 days ago
9 weeks 2 days ago